/**
 * 给定一个整数，写一个函数来判断它是否是 4 的幂次方。如果是，返回 true ；否则，返回 false 。
 * <p>
 * 整数 n 是 4 的幂次方需满足：存在整数 x 使得 n == 4x
 */
class Solution {

    public static void main(String[] args) {
        System.out.println(isPowerOfFour(31));
        System.out.println(isPowerOfFour(16));
        System.out.println(isPowerOfFour(5));
        System.out.println(isPowerOfFour(1));
    }

    public static boolean isPowerOfFour(int n) {
        int i = 0, t = n;
        for (; t > 4; i++) {
            t >>= 2;
        }
        if (t == 4) {
            for (; i > 0; i--) {
                t <<= 2;
            }
            return t == n;
        }
        return n == 1;
    }
}